package com.bdq.interaction.infrastructure.persistence.mysql.pojo;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;

import java.io.Serializable;
import java.time.LocalDateTime;

/**
 * 交互评论表
 * @TableName interaction_comment
 */
@TableName(value ="interaction_comment")
@Data
public class InteractionComment implements Serializable {
    /**
     * 主键ID
     */
    @TableId(type = IdType.AUTO)
    private Long id;

    /**
     * 内容ID
     */
    private Long contentId;

    /**
     * 内容用户ID
     */
    private Long contentUserId;

    /**
     * 评论用户ID
     */
    private Long commentUserId;

    /**
     * 评论用户昵称
     */
    private String commentUserNickName;

    /**
     * 评论用户头像
     */
    private String commentUserAvatar;

    /**
     * 评论类型 1:一级评论(用户对内容的直接评论，作为根评论) 2:二级评论(用户对一级评论的回复) 3:三级评论（用户对二级评论或三级评论的回复，即在二级评论的基础上进行嵌套回复）
     */
    private Integer commentType;

    /**
     * 父评论ID
     */
    private Long parentCommentId;

    /**
     * 回复评论ID
     */
    private Long replyCommentId;

    /**
     * 回复用户ID
     */
    private Long replyUserId;

    /**
     * 回复用户昵称
     */
    private String replyUserNickName;

    /**
     * 评论
     */
    private String comment;

    /**
     * 子评论数量
     */
    private Integer childCommentNum;

    /**
     * 是否删除 0:未删除 1:已删除
     */
    private Integer isDeleted;

    /**
     * 创建人
     */
    private String creator;

    /**
     * 创建时间
     */
    private LocalDateTime createTime;

    /**
     * 修改人
     */
    private String modifier;

    /**
     * 更新时间
     */
    private LocalDateTime updateTime;

    @TableField(exist = false)
    private static final long serialVersionUID = 1L;
}